# 对话补全API（文本生成）
from zai import ZhipuAiClient
from config import api_key

# 第一步：实例化client
client = ZhipuAiClient(
    base_url="https://open.bigmodel.cn/api/paas/v4/",  # 你访问的在线模型的API
    api_key=api_key
)

# 多轮对话
history = [
    {"role":"system", "content":"你是一个 AI 作家."},   # 系统提示词
]


def main():

    while True:
        query = input("请输入：")
        if query == "q":
            break

        # 第二步：对话补全请求
        response = client.chat.completions.create(
            # 参数是重点
            model="glm-4.5-flash",  # 选择一个模型
            messages= history + [
                {"role":"user", "content":query}    # 提示词
            ],
            stream=True,
            temperature=0.8,
            top_p=0.9,
            max_tokens=256  # 模型输出的长度
        )

        # 第三步：解析输出
        # print(response.choices[0].message.content)
        for chunk in response:
            if chunk.choices[0].delta.content:
                print(chunk.choices[0].delta.content, end="")
        print()

if __name__ == "__main__":
    main()
